package commande.commandes;

import commande.receiver.Editeur;

import enregistre.Enregistreur;
import undo_redo.EnregistreurUR;
import vue_controleur.IHM;
import vue_controleur.MiniEditeur;

public class Supprimer implements Command{

	Editeur _editeur;
	Enregistreur _enregistreur;
	EnregistreurUR _enregistreurUR;
	IHM _ihm;
	Boolean _sup;

	/**
	 * Execute la commande Supprimer
	 * @see IHMImpl
	 */
	
	public void execute() {
		_editeur = MiniEditeur.get().getEditeur();
		_enregistreur = _editeur.get_enregistreur();
		_enregistreurUR = _editeur.get_enregistreurUR();
		_ihm = MiniEditeur.get().getIhm();
		_sup=_ihm.getSup();
		//sauvegarde pour la v3
		_editeur.getMementoUR(this);
		_editeur.supprimer(_sup);
		//test pour voir si on est en mode d'enregistrement (V2)
		if(_enregistreur.getModeEnregistrementActif()){
			_editeur.getMemento(this);
		}
		//pour la v3, permet d'enregistre l'element sup dans le memento
		_enregistreurUR.ajoutEleSup(_editeur.get_eleSup());
	}
	
	/**
	 * Permet de differencier les touches backspace ou suppr
	 * @return _sup
	 */
	
	public Boolean get_sup(){
		return _sup;
	}
}
